using System;
using System.Collections.Generic;

namespace Managistics.Model
{
    [Serializable()]
    public class InputSheetOthers : Entity<int>
    {
        private DateTime _inputeddate;
        private int _year;
        private int _month;
        private int _inputtype;
        private string _suppliercode;
        private string _customercode;
        private string _department;
        private string _description;
        private string _employeeid;
        private byte _isdeleted;
        private DateTime _createddate;
        private DateTime _updateddate;
        private IList<InputSheetOtherDetail> _inputSheetOtherDetail;

        public InputSheetOthers()
        {
           
        }

        public virtual int Id {
            get {
                return this._id;
            }
            set {
                this._id = value;
            }
        }
        public virtual DateTime InputedDate {
            get {
                return this._inputeddate;
            }
            set {
                this._inputeddate = value;
            }
        }
        public virtual int Year {
            get {
                return this._year;
            }
            set {
                this._year = value;
            }
        }
        public virtual int Month {
            get {
                return this._month;
            }
            set {
                this._month = value;
            }
        }
        public virtual int InputType {
            get {
                return this._inputtype;
            }
            set {
                this._inputtype = value;
            }
        }
        public virtual string SupplierCode {
            get {
                return this._suppliercode;
            }
            set {
                this._suppliercode = value;
            }
        }
        public virtual string CustomerCode {
            get {
                return this._customercode;
            }
            set {
                this._customercode = value;
            }
        }
        public virtual string Department {
            get {
                return this._department;
            }
            set {
                this._department = value;
            }
        }
        public virtual string Description {
            get {
                return this._description;
            }
            set {
                this._description = value;
            }
        }
        public virtual string EmployeeId {
            get {
                return this._employeeid;
            }
            set {
                this._employeeid = value;
            }
        }
        public virtual byte IsDeleted {
            get {
                return this._isdeleted;
            }
            set {
                this._isdeleted = value;
            }
        }
        public virtual DateTime CreatedDate {
            get {
                return this._createddate;
            }
            set {
                this._createddate = value;
            }
        }
        public virtual DateTime UpdatedDate {
            get {
                return this._updateddate;
            }
            set {
                this._updateddate = value;
            }
        }

        public virtual IList<InputSheetOtherDetail> InputSheetOtherDetail
        {
            get
            {
                if (this._inputSheetOtherDetail == null)
                    return new List<InputSheetOtherDetail>();
                return this._inputSheetOtherDetail;
            }
            set
            {
                this._inputSheetOtherDetail = value;                
            }
        }

        public virtual void AddInputSheetOtherDetail(InputSheetOtherDetail detail)
        {
            if (this._inputSheetOtherDetail == null)
                this._inputSheetOtherDetail = new List<InputSheetOtherDetail>();
            this._inputSheetOtherDetail.Add(detail);
        }

        public virtual void RemoveInputSheetOtherDetail(InputSheetOtherDetail detail)
        {
            if (this._inputSheetOtherDetail != null)
            {
                this._inputSheetOtherDetail.Remove(detail);
            }
        }
    }

}
